 public boolean send(String title, String msg, String to) throws IOException {
        Transport transport = null;
        try {

            Properties props = new Properties();
            final SettingEmailConfig settingEmailConfigInstance = SettingEmailConfig.getInstance();

            MailSSLSocketFactory sf = null;
            try {
                sf = new MailSSLSocketFactory();
            } catch (GeneralSecurityException ex) {
                Logger.getLogger(SendingMail.class.getName()).log(Level.SEVERE, " {0} ", ex);
            }
            sf.setTrustAllHosts(true);//send to other system set true
            props.put("mail.smtp.host", settingEmailConfigInstance.getProperty("mail.host"));
            props.put("mail.smtp.auth", settingEmailConfigInstance.getProperty("mail.smtp.auth"));
            props.put("mail.debug", settingEmailConfigInstance.getProperty("mail.debug"));
            props.put("mail.smtp.port", settingEmailConfigInstance.getProperty("mail.smtp.port"));
            props.put("mail.smtp.socketFactory.port", settingEmailConfigInstance.getProperty("mail.smtp.socketFactory.port"));

            props.put("mail.transport.protocol", settingEmailConfigInstance.getProperty("mail.transport.protocol"));
            props.put("mail.smtp.ssl.socketFactory", "javax.net.ssl.SSLSocketFactory");
            props.put("mail.smtp.ssl.enable", "true");
            props.put("mail.smtp.ssl.socketFactory", sf);
            
            javax.mail.Session session = javax.mail.Session.getInstance(props, new javax.mail.Authenticator() {

                String from = settingEmailConfigInstance.getProperty("mail.from");
                String pass = settingEmailConfigInstance.getProperty("mail.password");

                @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(
                            from, pass);
                }
            });

            session.setDebug("true".equals(settingEmailConfigInstance.getProperty("mail.debug")) ? true: false);// SHOW DEBUG = FALSE
            transport = session.getTransport();
            InternetAddress addressFrom = new InternetAddress(settingEmailConfigInstance.getProperty("mail.from"), "Support Center");
            MimeMessage message = new MimeMessage(session);
            message.setFrom(addressFrom);
            // create mail
            message.setSubject(title, "UTF-8");
            message.setSentDate(new Date());
            message.setText(msg);
            String sendTo[] = {to};
            message.setSentDate(new Date());
            message.setHeader("Content-Type", "text/html; charset=UTF-8");
            message.saveChanges();
            if (sendTo != null) {
                InternetAddress[] addressTo = new InternetAddress[sendTo.length];
                for (int i = 0; i < sendTo.length; i++) {
                    addressTo[i] = new InternetAddress(sendTo[i]);
                }
                message.setRecipients(javax.mail.Message.RecipientType.TO, addressTo);
            }
            transport.connect();
            Transport.send(message);
        } catch (SendFailedException ex) {
            Logger.getLogger(SendingMail.class.getName()).log(Level.SEVERE, "send email ex {0}", ex);
            return false;
//            context.setRollbackOnly();
        } catch (MessagingException ex) {
//            context.setRollbackOnly();
            Logger.getLogger(SendingMail.class.getName()).log(Level.SEVERE, "send email ex {0}", ex);
            return false;
        } finally {
            try {
                transport.close();
            } catch (MessagingException ex) {
//                context.setRollbackOnly();
                Logger.getLogger(SendingMail.class.getName()).log(Level.SEVERE, "send email ex {0}", ex);
            }
        }
        return true;
    }